
# Create your models here.
from django.db import models
from django.contrib.auth.models import AbstractUser


class User(AbstractUser):
    """自定义用户模型类"""
    mobile = models.CharField(max_length=11, unique=True, verbose_name='手机号')
    name = models.CharField(max_length=10,  verbose_name='姓名',blank=True)
    idcard = models.CharField(max_length=255, verbose_name='身份证', blank=True)
    Idverification = models.CharField(max_length=1, verbose_name='身份验证', default=0)
    Secret_protection = models.CharField(max_length=1, verbose_name='密保验证', default=0)
    question1 = models.CharField(max_length=50, verbose_name='密保1', blank=True)
    question2 = models.CharField(max_length=50, verbose_name='密保2', blank=True)
    default_address = models.ForeignKey('users.Address', related_name='users', null=True, blank=True,
                                        on_delete=models.SET_NULL, verbose_name='默认地址')

    class Meta:
        db_table = 'tb_users'
        verbose_name = '用户'
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.username

class Address(models.Model):
    """用户地址"""
    user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='addresses', verbose_name='用户')
    receiver = models.CharField(max_length=20, verbose_name='收货人')
    place = models.CharField(max_length=50, verbose_name='地址')
    mobile = models.CharField(max_length=11, verbose_name='手机')
    is_deleted = models.BooleanField(default=False, verbose_name='逻辑删除')
    create_time = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
    update_time = models.DateTimeField(auto_now=True, verbose_name="更新时间")

    class Meta:
        db_table = 'tb_address'
        verbose_name = '用户地址'
        verbose_name_plural = verbose_name
        ordering = ['-update_time']